#pragma once
#include "GRiPreInclude.h"
#include "GRiMeshData.h"
#include "GRiRendererFactory.h"

#include <assimp/Importer.hpp>
#include <assimp/scene.h>
#include <assimp/postprocess.h>

class GRiMeshLoader
{
	/*void SetRendererFactory(GRiRendererFactory* rFac);*/
public:
	static GRiMeshLoader& Get();
	 void ImportMesh(std::string FileName, std::vector<GRiMeshData>& outMeshDataList);
private:

	 void ProcessNode(aiNode* node, const aiScene* scene, std::vector<GRiMeshData>& outMeshDataList);

	 void ProcessMesh(aiMesh* mesh, const aiScene* scene,std::vector<GRiMeshData>& outMeshDataList);
	
};

